Andrea Corallo [Thu, 2 Jul 2020 19:45:42 +0000 (21:45 +0200)]
* Fix missing tail recursion elimination
* lisp/emacs-lisp/comp.el (comp-tco-func): Fix tail recursion
elimination given now functions in LIMPLE are expressed with
the C name.
Andrea Corallo [Thu, 2 Jul 2020 19:43:52 +0000 (21:43 +0200)]
* Add a test to verify tail recursion elimination
* test/src/comp-tests.el (comp-tests-tco): Compile a recursive
functions at speed 3 and verify the tail recursion elimination.
(comp-tests-tco-checker, comp-tests-mentioned-p)
(comp-tests-mentioned-p-1): New support functions.
Andrea Corallo [Thu, 2 Jul 2020 19:32:09 +0000 (21:32 +0200)]
Rework `comp-c-func-name' arguments
* lisp/emacs-lisp/comp.el (comp-c-func-name): Add FIRST argument
to ignore the compiler context and return the first name.
* lisp/emacs-lisp/disass.el (disassemble-internal): Update the
`comp-c-func-name' call.
Andrea Corallo [Thu, 2 Jul 2020 19:29:34 +0000 (21:29 +0200)]
* Add to possibility to write per pass specific tests
* lisp/emacs-lisp/comp.el (comp-post-pass-hooks): New special
variable.
(native-compile): Run what is registered in
`comp-post-pass-hooks'.
Andrea Corallo [Thu, 2 Jul 2020 20:30:37 +0000 (22:30 +0200)]
Merge remote-tracking branch 'savahnna/master' into HEAD
Alan Mackenzie [Thu, 2 Jul 2020 18:14:30 +0000 (18:14 +0000)]
* lisp/progmodes/cc-mode.el (c-or-c++-mode--regexp): Change WS to [ \t] in it
Phillip Lord [Thu, 2 Jul 2020 17:03:23 +0000 (18:03 +0100)]
Remove Emacs-27 reference
* admin/nt/dist-build/README-windows-binaries:
Juri Linkov [Wed, 1 Jul 2020 22:08:18 +0000 (01:08 +0300)]
Revert feature added in
bfd96e995d using project directories in vc (bug#41821)
Eli Zaretskii [Wed, 1 Jul 2020 14:25:52 +0000 (17:25 +0300)]
; * etc/NEWS: Announce dropping of support for OpenBSD 5.3.
YASUOKA Masahiko [Sat, 27 Jun 2020 03:56:42 +0000 (12:56 +0900)]
Support pty's on OpenBSD
* configure.ac (PTY_TTY_NAME_SPRINTF): OpenBSD has posix_openpt
nowadays. (Bug#42059)
Copyright-paperwork-exempt: yes
Glenn Morris [Wed, 1 Jul 2020 13:27:56 +0000 (06:27 -0700)]
; Auto-commit of loaddefs files.
Juri Linkov [Tue, 30 Jun 2020 21:30:18 +0000 (00:30 +0300)]
Bind 'C-x 4 1' to 'same-window-prefix' and document new commands (bug#41691)
* lisp/window.el (ctl-x-4-map): Bind 'C-x 4 1' to 'same-window-prefix'.
* doc/emacs/windows.texi (Pop Up Window): Add 'C-x 4 4' and 'C-x 4 1'.
* doc/emacs/frames.texi (Creating Frames): Add 'C-x 5 5'.
(Tab Bars): Add 'C-x t t'.
Andrea Corallo [Tue, 30 Jun 2020 17:14:52 +0000 (19:14 +0200)]
Add a test for lambda list containing uninterned symbols
* test/src/comp-test-funcs-dyn.el
(comp-tests-cl-uninterned-arg-parse-f): New function.
* test/src/comp-tests.el (comp-tests-cl-uninterned-arg-parse-f):
New test.
Andrea Corallo [Tue, 30 Jun 2020 17:10:19 +0000 (19:10 +0200)]
Fix lambda-list relocation class
Lambda-lists must stay in the same relocation class of the object
referenced by code to respect uninterned symbols.
* lisp/emacs-lisp/comp.el (comp-prepare-args-for-top-level): Break
the original function in a generic specializing for
dynamic/lexical functions. When allocating the lambda-list for
dynamic functions do that in the default relocation class.
(comp-emit-for-top-level): Make use of the new
`comp-prepare-args-for-top-level'.
(comp-emit-lambda-for-top-level): Likewise.
James N. V. Cash [Mon, 29 Jun 2020 23:45:15 +0000 (02:45 +0300)]
Subject: Frame-local tab-bar for numeric value of tab-bar-show (bug#42052)
* lisp/tab-bar.el (tab-bar-new-tab-to): Set frame parameter
tab-bar-lines to 1 when tab-bar-show is the same as number of tabs.
(tab-bar-close-tab, tab-bar-close-other-tabs): Set frame parameter
tab-bar-lines to 0 when tab-bar-show is the same as number of tabs.
Copyright-paperwork-exempt: yes
Alan Mackenzie [Mon, 29 Jun 2020 19:10:09 +0000 (19:10 +0000)]
CC Mode: optimize for repeated simple operations.
Do this by recognising that unterminated strings in a buffer are typically
going to be few and close together. Also optimize code for C++ attributes.
* lisp/progmodes/cc-defs.el (c-previous-single-property-change): New macro.
(c-put-syn-tab, c-clear-syn-tab): Turned from macros into functions, and moved
to cc-mode.el.
(c-clear-syn-tab-properties): Amended to use c-min/max-syn-tab-mkr.
(c-with-extended-string-fences): Removed.
* lisp/progmodes/cc-engine-el (c-enclosing-c++-attribute): Rewritten for
speed.
(c-slow-enclosing-c++-attribute): Removed.
(c-semi-pp-to-literal): Remove a superfluous call to
c-with-extended-string-fences.
* lisp/progmodes/cc-mode.el (c-min-syn-tab-mkr, c-max-syn-tab-mkr): two new
marker variables which bound the region occupied by positions with
c-fl-syn-tab text properties.
(c-basic-common-init): Initialize these two variables.
(c-fl-syn-tab-region): Removed.
(c-put-syn-tab, c-clear-syn-tab): Functions moved from cc-defs.el.
(c-clear-string-fences): Amended to use the new scheme.
(c-restore-string-fences): Now takes no arguments; amended to use the new
scheme.
(c-font-lock-fontify-region): Amended to use the new scheme.
Paul Eggert [Mon, 29 Jun 2020 16:54:45 +0000 (09:54 -0700)]
* test/src/fns-tests.el (test-secure-hash): Test getrandom format.
Andrea Corallo [Mon, 29 Jun 2020 15:26:29 +0000 (17:26 +0200)]
Revert "* src/comp.c (Fcomp__register_subr): Remove code duplication using Fdefalias."
This reverts commit
6c7f615ae59b636efe5012f761a25acfd956480d.
Paul Eggert [Sun, 28 Jun 2020 20:22:44 +0000 (13:22 -0700)]
Update from Gnulib.
This incorporates:
2020-06-28 getrandom: do not depend on ‘open’ on mingw
2020-06-28 getrandom: fix compilation errors on older versions of mingw
* build-aux/config.sub, lib/getrandom.c, m4/getrandom.m4:
Copy from Gnulib
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
Andrea Corallo [Sun, 28 Jun 2020 19:44:22 +0000 (20:44 +0100)]
* Do not skip native compilation for leim subfolder during boostrap
* lisp/emacs-lisp/comp.el (comp-bootstrap-black-list): Remove
"^leim/".
Andrea Corallo [Sun, 28 Jun 2020 19:38:13 +0000 (20:38 +0100)]
* Enable deferred compilation for dynamic scoped code
* src/comp.c (maybe_defer_native_compilation): Trigger for dynamic
code and add a comment.
Eli Zaretskii [Sun, 28 Jun 2020 15:26:20 +0000 (18:26 +0300)]
MS-Windows fixes as followup to import of Gnulib 'getrandom'
* nt/mingw-cfg.site (gl_cv_lib_assume_bcrypt): Set to "no" to
disable linking against bcrypt.dll. (Bug#42095)
* src/gnutls.c (gnutls_rnd) [WINDOWSNT]: Don't define a function
pointer, and don't load it from GnuTLS DLL.
(w32_gnutls_rnd) [WINDOWSNT]: Delete unused function.
* src/fns.c (gnutls_rnd) [WINDOWSNT]: Don't redirect to
w32_gnutls_rnd.
Andrea Corallo [Sun, 28 Jun 2020 14:54:57 +0000 (15:54 +0100)]
Merge remote-tracking branch 'savannah/master' into uninterned
Andrea Corallo [Sun, 28 Jun 2020 14:38:48 +0000 (15:38 +0100)]
* src/comp.c (Fcomp__register_subr): Remove code duplication using Fdefalias.
Andrea Corallo [Sun, 28 Jun 2020 12:45:49 +0000 (13:45 +0100)]
Add a test to verify CL macro expansion in dynamic scope
* test/src/comp-tests.el (comp-tests-cl-macro-exp): New test.
* test/src/comp-test-funcs-dyn.el: Require `cl-lib'.
(comp-tests-cl-macro-exp-f): New function.
Andrea Corallo [Sun, 28 Jun 2020 12:33:11 +0000 (13:33 +0100)]
* Setup correctly the printer while dumping objs in native CU (bug#42088)
* src/comp.c (emit_static_object): Bind a bunch of special
variables to setup `prin1-to-string' as
`byte-compile-output-file-form' does. This to preserve
uninterned symbols.
Timo Myyrä [Sun, 28 Jun 2020 08:27:21 +0000 (10:27 +0200)]
Add thread-naming support for OpenBSD
OpenBSD has pthread_set_name_np; FreeBSD appears to have both
this call and pthread_setname_np (the latter call is used in preference).
* configure.ac: Detect pthread_set_name_np.
* sys/systhread.c:
Include <pthread_np.h> and call pthread_set_name_np if available.
Andrea Corallo [Sat, 27 Jun 2020 20:42:16 +0000 (21:42 +0100)]
Merge remote-tracking branch 'savannah/master' into HEAD
Andrea Corallo [Sat, 27 Jun 2020 19:59:22 +0000 (20:59 +0100)]
src/comp.c (Fcomp__register_subr): Handle advice activation (bug#42038).
Paul Eggert [Sat, 27 Jun 2020 20:02:24 +0000 (13:02 -0700)]
Use getrandom syscall for nonces
* admin/merge-gnulib (GNULIB_MODULES): Add getrandom.
* doc/lispref/text.texi (Format of GnuTLS Cryptography Inputs):
Don’t say that iv-auto uses GNUTLS_RND_NONCE. Also, don’t say
that it returns the IV’s actual value, as it never has done that.
* src/fns.c, src/sysdep.c: Include sys/random.h, for getrandom.
* src/fns.c (Fsecure_hash_algorithms): Use getrandom so that this
function does not depend on HAVE_GNUTLS3.
* src/sysdep.c: Do not include <gnutls/crypto.h>.
(random_seed) [HAVE_LRAND48]: Can be long int now.
(init_random) [!WINDOWSNT]: Use getrandom syscall instead
of opening /dev/urandom, as this works even on GNU/Linux
hosts that lack /dev/urandom. Don’t bother with gnutls_rnd
as it’s not needed now that we have getrandom.
Paul Eggert [Sat, 27 Jun 2020 17:00:17 +0000 (10:00 -0700)]
Update from Gnulib
This incorporates:
2020-06-27 getloadavg: don’t depend on fopen-gnu
2020-06-25 c-dtoastr, c-ldtoastr: new modules
2020-06-01 getloadavg: fix double-increment bug
2020-06-01 tempname: use getrandom, not getentropy
2020-05-31 tempname: merge from glibc and coreutils
2020-05-31 getentropy: work around a macOS and Solaris problem
2020-05-31 fnmatch: merge from glibc
2020-05-30 unistd: remove conflicting declaration of getrandom
2020-05-30 don't assume that UNICODE is not defined
2020-05-29 fix compilation error on native Windows
2020-05-28 avoid dynamic loading of Windows API functions when possible
2020-05-28 at-internal: make more robust in multithreaded applications
2020-05-28 getloadavg: make more robust in multithreaded applications
2020-05-27 getloadavg: make more robust in multithreaded applications
2020-05-26 count-one-bits: fix MSVC specific code
2020-05-25 getentropy, getrandom: new modules
2020-05-24 open, openat: really support O_CLOEXEC
2020-05-23 verify: document ‘assume’ better
2020-05-21 regex: configure better with "clang -fsanitize=leak"
2020-05-21 memmem: configure better with "clang -fsanitize=undefined"
2020-05-19 ftoastr: fix ifndef typo
* build-aux/config.guess, build-aux/config.sub, doc/misc/texinfo.tex:
* lib/count-one-bits.h, lib/ftoastr.c, lib/ftoastr.h:
* lib/getloadavg.c, lib/gettimeofday.c, lib/libc-config.h:
* lib/open.c, lib/openat-proc.c, lib/tempname.c, lib/tempname.h:
* lib/unistd.in.h, lib/verify.h, m4/memmem.m4, m4/regex.m4:
* m4/unistd_h.m4:
Update from Gnulib.
* lib/getrandom.c, lib/sys_random.in.h:
* m4/getrandom.m4, m4/sys_random_h.m4:
New files, copied from Gnulib.
* lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
Glenn Morris [Fri, 26 Jun 2020 14:50:38 +0000 (07:50 -0700)]
Merge from origin/emacs-27
5280e118c0 (origin/emacs-27) ; * src/xdisp.c (pos_visible_p): Fix las...
bb1a9481c9 Fix posn-at-point at beginning of a display string
0c4b033670 Improve documentation of Info node movement commands
632b0119e1 Add Jansson dependency to Windows Build
dbfcdab837 Unbreak 'reverse-region'
c37de84845 Fix typos and markup in fill column indicator docs
f61bff3ee9 ; * CONTRIBUTE: Clarify the preferences for patch formatting.
368e140660 Avoid crashes in 'defconst'
11e3413cff Fix text about Lisp archives in the Emacs FQ
4c81724675 Don't use 'cl' functions in ELisp manual's examples
Eli Zaretskii [Fri, 26 Jun 2020 13:34:50 +0000 (16:34 +0300)]
; * src/xdisp.c (pos_visible_p): Fix last change. (Bug#42039)
Eli Zaretskii [Fri, 26 Jun 2020 12:01:44 +0000 (15:01 +0300)]
Fix posn-at-point at beginning of a display string
* src/xdisp.c (pos_visible_p): Account for the line-number width
when the display string at CHARPOS ends in a newline. (Bug#42039)
Basil L. Contovounesios [Fri, 26 Jun 2020 08:37:52 +0000 (09:37 +0100)]
; Fix recent indentation in project.el
* lisp/progmodes/project.el (project-ignores, project-find-file-in)
(project-eshell, project--read-project-list): Fix indentation.
Eli Zaretskii [Fri, 26 Jun 2020 07:41:09 +0000 (10:41 +0300)]
Improve documentation of Info node movement commands
* lisp/info.el (Info-next, Info-prev, Info-forward-node)
(Info-backward-node): More detailed descriptions of what each
commands does with respect to child and parent nodes. (Bug#42050)
Eli Zaretskii [Fri, 26 Jun 2020 07:15:46 +0000 (10:15 +0300)]
Fix byte-compilation warning in project.el
* lisp/emacs-lisp/seq.el (seq-every-p): Autoload it. This fixes
byte-compilation warning in project.el.
Dmitry Gutov [Fri, 26 Jun 2020 00:44:51 +0000 (03:44 +0300)]
vc-known-roots: Actually update
* lisp/vc/vc-hooks.el (vc-known-roots):
Actually update for the change in
733921edfe (bug#41821).
Dmitry Gutov [Fri, 26 Jun 2020 00:41:42 +0000 (03:41 +0300)]
project--read-project-list: Add structure verification
* lisp/progmodes/project.el (project--list): Update docstring.
(project--read-project-list): Add structure verification.
Dmitry Gutov [Fri, 26 Jun 2020 00:33:13 +0000 (03:33 +0300)]
project-known-roots: Rename and improve
* lisp/progmodes/project.el (project-known-project-roots):
Rename from 'project-known-roots'. Update the docstring. Make
sure the returned value is a list of strings. Update the caller
(bug#41821).
Dmitry Gutov [Fri, 26 Jun 2020 00:27:39 +0000 (03:27 +0300)]
Rename project-kill-buffers-{skip-conditions,ignores}
* lisp/progmodes/project.el (project-kill-buffers-ignores):
Rename from project-kill-buffers-skip-conditions (bug#41868).
Update both references.
Add a :package-version attribute.
Tassilo Horn [Thu, 25 Jun 2020 20:06:53 +0000 (22:06 +0200)]
Add NEWS entry for bug-reference auto-setup.
* etc/NEWS: Add entry for bug-reference auto-setup.
Eli Zaretskii [Thu, 25 Jun 2020 19:27:19 +0000 (22:27 +0300)]
Fix last change
* lisp/menu-bar.el (menu-bar-describe-menu): Improve the wording
and the help-echo of the new list-recent-keystrokes Help menu
item. (Bug#41933)
* etc/NEWS: Call out the new menu item.
Tino Calancha [Thu, 25 Jun 2020 18:54:46 +0000 (20:54 +0200)]
Add help menu entry for view-lossage
* lisp/menu-bar.el (menu-bar-describe-menu):
Add an entry for view-lossage (Bug#41933).
Alan Mackenzie [Thu, 25 Jun 2020 17:07:16 +0000 (17:07 +0000)]
CC Mode. Fix an off by one error. Fixes bug #41809
* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Change > to >= (twice).
Juri Linkov [Thu, 25 Jun 2020 00:48:32 +0000 (03:48 +0300)]
Push action to list of functions in display-buffer-override-next-command
* lisp/window.el (display-buffer-override-next-command):
Push action to 'car' of 'display-buffer-overriding-action'
and in exitfun remove action from 'car'.
https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00803.html
Alan Mackenzie [Wed, 24 Jun 2020 19:45:30 +0000 (19:45 +0000)]
Make switch work in AWK Mode. Fixes bug #41923
lisp/progmodes/cc-langs.el (c-block-stmt-2-kwds): Insert "switch" into the AWK
Mode entry.
(c-case-kwds): Remove the special entry for AWK Mode.
Eli Zaretskii [Wed, 24 Jun 2020 14:51:08 +0000 (17:51 +0300)]
; * etc/NEWS: Improve format and wording of recently added entries.
Michael Albinus [Wed, 24 Jun 2020 08:41:39 +0000 (10:41 +0200)]
; Fix typos in etc/NEWS
Juri Linkov [Tue, 23 Jun 2020 23:59:31 +0000 (02:59 +0300)]
M-n in read-directory-name of vc commands gets project dirs (bug#41821)
* lisp/progmodes/project.el (project-known-roots): New autoloaded function.
* lisp/vc/vc-hooks.el (vc-known-roots): New function.
* lisp/vc/vc.el (vc-root-diff, vc-print-root-log):
* lisp/vc/vc-dir.el (vc-dir): Use 'vc-known-roots' for default
values for read-directory-name.
Juri Linkov [Tue, 23 Jun 2020 23:54:30 +0000 (02:54 +0300)]
More not-state-changing vc commands can be used from non-file buffers
* lisp/vc/vc.el (vc-deduce-fileset): Instead of checking for
log-view-mode, check for '(not buffer-file-name)' before trying to
get the backend for default-directory. Remove the branch that
checks for '(not buffer-file-name)' and signals the error because
vc-responsible-backend used in previous condition already signals
its error. (Bug#41974)
Michael Albinus [Tue, 23 Jun 2020 19:18:08 +0000 (21:18 +0200)]
Fix problem in tramp-smb.el
* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
Use `directory-file-name'.
* test/lisp/net/tramp-tests.el (trace): Require it.
(tramp--test-instrument-test-case): Print also function traces.
(tramp--test-smb-p): New defun.
(tramp-test03-file-name-method-rules)
(tramp-test05-expand-file-name-relative)
(tramp-test21-file-links, tramp--test-windows-nt-or-smb-p)
(tramp--test-check-files): Use it.
Basil L. Contovounesios [Tue, 23 Jun 2020 14:48:24 +0000 (15:48 +0100)]
; Fix indentation in last change
* lisp/gnus/gnus-cloud.el (gnus-cloud-download-data): Reindent first
argument of prog1.
David Edmondson [Tue, 23 Jun 2020 11:52:34 +0000 (12:52 +0100)]
Fix gnus-cloud-download-all-data return value
* lisp/gnus/gnus-cloud.el (gnus-cloud-download-data): Return the
result of calling `gnus-cloud-update-all' when UPDATE is t, as per the
documented behaviour. (Bug#40280)
Andrea Corallo [Mon, 22 Jun 2020 22:33:09 +0000 (00:33 +0200)]
* lisp/gnus/gnus.el (gnus): Fix a check to handle native compilation.
Phillip Lord [Mon, 22 Jun 2020 17:14:48 +0000 (18:14 +0100)]
Add Jansson dependency to Windows Build
* admin/nt/dist-build/build-dep-zips.py: Add dependency
Richard Copley [Thu, 18 Jun 2020 17:59:21 +0000 (18:59 +0100)]
Unbreak 'reverse-region'
* lisp/sort.el (reverse-region): Unbreak the function. It was
broken by a fix for bug#39376.
Copyright-paperwork-exempt: yes
Eli Zaretskii [Mon, 22 Jun 2020 15:32:01 +0000 (18:32 +0300)]
Minor improvements as followup to recent RGB string-parsing change
* src/xfaces.c (Finternal_color_values_from_color_spec): Rename to...
(Fcolor_values_from_color_spec): ...this. Callers changed.
Rename the argument to SPEC and improve the doc string.
(parse_color_spec, parse_float_color_comp, parse_hex_color_comp):
Improve commentary.
(parse_color_spec): Rename the argument S to SPEC.
* etc/NEWS: Mention 'color-values-from-color-spec'.
Dmitry Gutov [Mon, 22 Jun 2020 13:58:02 +0000 (16:58 +0300)]
project-switch-to-buffer: Improve Ido compatibility
* lisp/progmodes/project.el (project-switch-to-buffer):
Check that the entry contains a non-nil CDR.
Basil L. Contovounesios [Mon, 22 Jun 2020 13:43:53 +0000 (14:43 +0100)]
Fix typos and markup in fill column indicator docs
* doc/emacs/display.texi (Displaying Boundaries): Fix typos and
Texinfo markup.
Dmitry Gutov [Mon, 22 Jun 2020 13:48:43 +0000 (16:48 +0300)]
project-switch-to-buffer: Do not require matching input
* lisp/progmodes/project.el (project-switch-to-buffer):
Do not require matching input, to allow creating buffers as well
(bug#41879).
Mattias Engdegård [Mon, 22 Jun 2020 11:07:37 +0000 (13:07 +0200)]
Accept lexical lambda in auto-insert-alist
This bug was exposed by a previous removal of quoting around lambda
expressions in autoinsert-tests.el (
1ecd350f38ee), which caused some
of those tests to fail.
* lisp/autoinsert.el (auto-insert): Cope with lexical closures.
Mattias Engdegård [Sun, 21 Jun 2020 19:11:17 +0000 (21:11 +0200)]
Fix spurious error in beginning-of-defun in pascal-mode (bug#41740)
* lisp/progmodes/pascal.el (pascal-beg-of-defun):
Ignore errors in forward-sexp.
* test/lisp/progmodes/pascal-tests.el (pascal-beg-of-defun): New test.
Mattias Engdegård [Sun, 21 Jun 2020 19:04:30 +0000 (21:04 +0200)]
Preserve point in pascal-mode completion (bug#41740)
Failure to do so caused errors in several cases.
Reported by Shinichi Sakata.
* lisp/progmodes/pascal.el (pascal-type-completion)
(pascal-completion): Wrap code that may move point in save-excursion.
* test/lisp/progmodes/pascal-tests.el: New file.
Juri Linkov [Sun, 21 Jun 2020 23:36:16 +0000 (02:36 +0300)]
Fix display-buffer-override-next-command to call action only once (bug#39722)
* lisp/vc/vc-dir.el (vc-dir-bookmark-jump): Don't use save-window-excursion.
* lisp/window.el (display-buffer-override-next-command): Reset
display-buffer-overriding-action after the first buffer display action.
* lisp/tab-bar.el (switch-to-buffer-other-tab): Don't reuse frame tabs.
(other-tab-prefix): Don't reuse frame tabs.
Juri Linkov [Sun, 21 Jun 2020 23:17:02 +0000 (02:17 +0300)]
New commands other-window-prefix (C-x 4 4) and other-frame-prefix (C-x 5 5)
* lisp/window.el (other-window-prefix, same-window-prefix): New commands.
(ctl-x-4-map): Bind 'C-x 4 4' to 'other-window-prefix'. (Bug#41691)
* lisp/frame.el (other-frame-prefix): New command.
(ctl-x-5-map): Bind 'C-x 5 5' to 'other-frame-prefix'.
Theodor Thornhill [Sun, 21 Jun 2020 22:49:20 +0000 (01:49 +0300)]
Forward declare eshell-buffer-name in project-eshell
* lisp/progmodes/project.el: Forward declare 'eshell-buffer-name' so
that 'project-eshell' can use dynamically scoping with it.
Dmitry Gutov [Sun, 21 Jun 2020 22:47:55 +0000 (01:47 +0300)]
; project-shell, project-eshell: Doc fixes
Andrea Corallo [Sun, 21 Jun 2020 22:20:03 +0000 (00:20 +0200)]
Merge remote-tracking branch 'savahnna/master' into dev
Andrea Corallo [Sun, 21 Jun 2020 18:52:52 +0000 (20:52 +0200)]
Two `load-history' eln related fixes.
* src/lread.c (Fload): Fix `load-history' filling for elns non in
root lisp-dir.
* lisp/startup.el (command-line): Fix `load-history' fixup
algorith for eln files.
Andrea Corallo [Thu, 18 Jun 2020 21:21:32 +0000 (23:21 +0200)]
;* src/comp.c (define_maybe_gc_or_quit): Fix a comment.
Andrea Corallo [Thu, 18 Jun 2020 21:14:06 +0000 (23:14 +0200)]
* src/comp.c (Fcomp__compile_ctxt_to_file): Confine gcc optim level in [0, 3].
Andrea Corallo [Thu, 18 Jun 2020 21:04:55 +0000 (23:04 +0200)]
* Handle correctly pure delaration specifier.
* lisp/emacs-lisp/comp.el (comp-func): New slot 'pure'.
(comp-spill-decl-spec): New function.
(comp-spill-speed): Rework to use the later.
(comp-spill-lap-function, comp-intern-func-in-ctxt): Spill pure
decl value.
(comp-function-optimizable-p): Check in the compiler env too if
pure.
Andrea Corallo [Wed, 17 Jun 2020 20:46:48 +0000 (22:46 +0200)]
* Add a func-arity test for dynamic functions
* test/src/comp-tests.el (comp-tests-dynamic-arity): New test.
Andrea Corallo [Wed, 17 Jun 2020 20:17:57 +0000 (22:17 +0200)]
Do not native compile two functions to allow cc-mode hack
* lisp/progmodes/cc-langs.el (c-populate-syntax-table): Declare
with speed -1.
* lisp/progmodes/cc-bytecomp.el
(cc-bytecomp-compiling-or-loading): Declare with speed -1.
Andrea Corallo [Mon, 15 Jun 2020 19:27:00 +0000 (21:27 +0200)]
Add a test for speed -1
* test/src/comp-tests.el (comp-test-speed--1): New test
* test/src/comp-test-funcs.el (comp-test-speed--1-f): New
function.
Andrea Corallo [Mon, 15 Jun 2020 18:26:00 +0000 (20:26 +0200)]
Allow per function speed declaration
* src/comp.c (COMP_SPEED): Rename.
(comp_t): Add 'func_speed' field.
(emit_mvar_lval, compile_function): Update for per function speed.
(Fcomp__compile_ctxt_to_file): COMP_SPEED renamed.
* lisp/emacs-lisp/comp.el (comp-speed): Doc update.
(comp-func): New 'speed' slot.
(comp-spill-speed): New function.
(comp-spill-lap-function, comp-intern-func-in-ctxt): Fill 'speed'
slot.
(comp-spill-lap-function): Gate -1 speed functions for native
compilation and emit bytecode instead.
(comp-spill-lap): Close over `byte-to-native-plist-environment'.
(comp-latch-make-fill): Update for per function speed.
(comp-limplify-top-level): Fill speed.
(comp-propagate1, comp-call-optim-form-call, comp-call-optim)
(comp-dead-code, comp-tco, comp-remove-type-hints): Update for per
function speed.
Andrea Corallo [Tue, 2 Jun 2020 10:08:50 +0000 (11:08 +0100)]
Execute top level forms in the right lex/dyn scope.
* lisp/emacs-lisp/bytecomp.el (byte-to-native-top-level): Add
'lexical' slot.
(byte-compile-output-file-form): Update for new slot.
(byte-compile-file-form-defmumble): Capture scope.
* lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Specify
execution scope.
Andrea Corallo [Tue, 10 Dec 2019 11:55:34 +0000 (12:55 +0100)]
Add some testing for dynamic scope
* test/src/comp-test-funcs-dyn.el: New file.
* test/src/comp-tests.el (comp-tests-dynamic-ffuncall): Add
new tests.
Mattias Engdegård [Fri, 12 Jun 2020 16:12:37 +0000 (18:12 +0200)]
Consolidate #RGB string parsers
Use a single parser of color strings in the #RGB, rgb:R/G/B and
rgbi:R/G/B formats, replacing four existing ones. Previously,
error-checking was spotty, handling of the rgbi: format not always
present, and normalization of the result was sometimes incorrect.
* src/dispextern.h: New prototype.
* src/xfaces.c (parse_hex_color_comp, parse_float_color_comp)
(parse_color_spec, Finternal-color_values_from_color_spec): New functions.
* test/src/xfaces-tests.el (xfaces-internal-color-values-from-color-spec):
New test.
* lisp/term/tty-colors.el (tty-color-standard-values):
Use internal-color-values-from-color-spec, replacing old parser.
* src/nsterm.m (ns_get_color):
* src/w32fns.c (x_to_w32_color):
* src/xterm.c (x_parse_color): Use parse_color_spec, replacing old
parsers.
(HEX_COLOR_NAME_LENGTH): Remove #define.
Basil L. Contovounesios [Sun, 21 Jun 2020 18:01:40 +0000 (19:01 +0100)]
Revert last change in benchmark.el
For discussion, see the following thread:
https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00791.html
* lisp/emacs-lisp/benchmark.el (benchmark-run-compiled): Revert to
giving byte-compile a form rather than a closure.
Eli Zaretskii [Sun, 21 Jun 2020 16:20:37 +0000 (19:20 +0300)]
Improve doc strings of 'project-shell' and 'project-eshell'
* lisp/progmodes/project.el (project-shell, project-eshell): Doc
fixes.
Basil L. Contovounesios [Sun, 21 Jun 2020 13:31:16 +0000 (14:31 +0100)]
Replace some uses of cl-mapcan with mapcan
* lisp/progmodes/project.el (project-files, project-files):
* lisp/progmodes/xref.el (xref-backend-references)
(xref--convert-hits):
* test/lisp/emacs-lisp/package-tests.el
(package-test-strip-version): Replace cl-mapcan with equivalent
calls to mapcan.
Michael Albinus [Sun, 21 Jun 2020 13:19:51 +0000 (15:19 +0200)]
Fix remaining problems with tramp-crypt.el
* lisp/net/tramp-compat.el (tramp-compat-make-temp-file):
Simplify implementation.
* lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-file)
(tramp-crypt-handle-file-attributes, tramp-crypt-handle-file-system-info)
(tramp-crypt-handle-make-directory): Let-bind `tramp-crypt-enabled' to nil.
* lisp/net/tramp.el (tramp-file-name-for-operation): Fix for operations
with two arguments.
(tramp-handle-load): Suppress `signal-hook-function' when NOERROR
is non-nil.
* test/lisp/net/tramp-tests.el (tramp-test41-utf8)
(tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl)
(tramp-test41-utf8-with-ls): Skip if needed.
Basil L. Contovounesios [Sun, 21 Jun 2020 12:42:14 +0000 (13:42 +0100)]
Evaluate some unnecessarily quoted lambdas
* lisp/cedet/semantic/complete.el
(semantic-displayer-tooltip-max-tags):
* lisp/emacs-lisp/benchmark.el (benchmark-run-compiled):
* lisp/emacs-lisp/package.el (package--default-summary)
(package-menu-filter-by-version):
* lisp/eshell/em-pred.el (eshell-pred-file-time):
* lisp/progmodes/verilog-mode.el (verilog-auto-lineup)
(verilog-auto-reset-widths, verilog-auto-arg-format)
(verilog-auto-inst-vector, verilog-auto-inst-template-numbers):
* lisp/textmodes/bibtex.el (bibtex-dialect):
* test/lisp/autoinsert-tests.el
(autoinsert-tests-define-auto-insert-before)
(autoinsert-tests-define-auto-insert-after): Remove some unnecessary
quoting around anonymous functions.
Basil L. Contovounesios [Sun, 21 Jun 2020 11:50:34 +0000 (12:50 +0100)]
Silence some warnings in tests
* test/lisp/emacs-lisp/package-tests.el
(package-test-suffix-matches): Evaluate lambda.
(package-test-list-filter-marked):
* test/lisp/vc/vc-tests.el
(vc-test--run-maybe-unsupported-function):
* test/src/undo-tests.el (undo-test-skip-invalidated-markers):
Silence "unused local variable" warnings.
* test/lisp/imenu-tests.el (imenu-simple-scan-deftest): Fix
docstring. Don't shadow global major-mode.
Dmitry Gutov [Sun, 21 Jun 2020 01:19:29 +0000 (04:19 +0300)]
; project-shell, project-eshell: Docstring tweaks
Theodor Thornhill [Sat, 20 Jun 2020 09:54:22 +0000 (11:54 +0200)]
Pop to an existing Eshell buffer by default
* lisp/progmodes/project.el (project-shell): Improve docstring to
include information about an implementation detail.
* list/progmodes/project.el (project-eshell): Modelled after
'project-shell', change default behavior such that we don't create too
many eshell buffers by default. Use universal argument to create
subsequent buffers.
Philipp Stephani [Sat, 20 Jun 2020 20:12:19 +0000 (22:12 +0200)]
Fix a byte-compile warning.
* lisp/gnus/gnus-cloud.el (gnus-cloud-download-data): Don't use
'mapcar' or effect.
Eli Zaretskii [Sat, 20 Jun 2020 08:46:52 +0000 (11:46 +0300)]
Fix last change for bug#41619
* lisp/progmodes/python.el (python-shell-virtualenv-root): Fix
last change. (Bug#41619)
Eli Zaretskii [Sat, 20 Jun 2020 08:42:41 +0000 (11:42 +0300)]
; * CONTRIBUTE: Clarify the preferences for patch formatting.
Eli Zaretskii [Sat, 20 Jun 2020 08:31:19 +0000 (11:31 +0300)]
Documentation followup to the last change
* doc/emacs/cmdargs.texi (General Variables):
* etc/NEWS: Document the COLORTERM environment variable.
(Bug#41846)
Jan Beich [Sun, 14 Jun 2020 03:51:24 +0000 (03:51 +0000)]
Add fallback for 24-bit terminal color via COLORTERM=truecolor
* src/term.c (init_tty): When COLORTERM=truecolor is defined,
override setaf/setab/colors terminfo capabilities with 24-bit
color support.
* doc/misc/efaq.texi (Colors on a TTY): Mention the possibility to
enable 24-bit color via the COLORTERM environment variable.
(Bug#41846)
Copyright-paperwork-exempt: yes
Stephen Berman [Thu, 11 Jun 2020 21:10:07 +0000 (23:10 +0200)]
Avoid crashes in 'defconst'
* src/eval.c (Fdefconst): Verify that SYMBOL is a known symbol.
(Bug#41817)
Richard Stallman [Thu, 11 Jun 2020 03:41:39 +0000 (23:41 -0400)]
Fix text about Lisp archives in the Emacs FQ
* doc/misc/efaq.texi (Packages that do not come with Emacs): Warn
about using Lisp archives other than GNU ELPA.
Eli Zaretskii [Sat, 20 Jun 2020 07:51:51 +0000 (10:51 +0300)]
Revert "Don't mention non-GNU package archives."
This reverts commit
5daa7a5fd4aced33a2ae016bde5bb37d1d95edf6.
A proper fix will be committed to the emacs-27 branch, and
will be later merged to master.
Andrew Burgess [Sun, 7 Jun 2020 08:20:19 +0000 (09:20 +0100)]
Fix bug with deactivation of mark in 'cua-cancel'
* lisp/emulation/cua-base.el (cua-cancel): Use 'deactivate-mark'
instead of setting 'mark-active' directly.
Copyright-paperwork-exempt: yes
Eli Zaretskii [Sat, 20 Jun 2020 07:29:37 +0000 (10:29 +0300)]
Don't use 'cl' functions in ELisp manual's examples
* doc/lispref/control.texi (pcase Macro): Use 'cl-evenp' instead
of 'evenp'. (Bug#41947)
Theodor Thornhill [Sat, 20 Jun 2020 01:02:18 +0000 (04:02 +0300)]
project-shell: Pop to an existing shell buffer by default
* lisp/progmodes/project.el (project-shell):
Pop to an existing shell buffer by default.
If there's none, or if universal argument is used, open a subsequent
shell buffer and jump to it. Prefix shell buffer name with the base
name of project root directory. (Bug#41858)
Eli Zaretskii [Fri, 19 Jun 2020 18:50:30 +0000 (21:50 +0300)]
Fix last change in doc strings of project.el
* lisp/progmodes/project.el (project-switch-to-buffer): More accurate
doc string.